﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace Gerenciador_de_Desculpas
{  

    public partial class Form1 : Form
    {

        Desculpa ObjDesculpa = new Desculpa();
        Random random = new Random();
        public string PastaSelecionada; 
        

        public Form1()
        {
            
            InitializeComponent();
                       
        }
        private void AtualizacaoForms()
        {
            DesculpaBox.Text = ObjDesculpa.Descricao;
            ResultadoBox.Text = ObjDesculpa.Resultado;
            dateTimePicker1.Value = ObjDesculpa.UltimaUsada;
        }


        private void Pasta_Click(object sender, EventArgs e)
        {
            
            DialogResult resultado = folderBrowserDialog1.ShowDialog();
            if (resultado == DialogResult.OK)
            {
                PastaSelecionada = folderBrowserDialog1.SelectedPath;
                Salvar.Enabled = true;
                Abrir.Enabled = true;
                DesculpaAleatoria.Enabled = true;
            }
        }

        private void Salvar_Click(object sender, EventArgs e)
        {
            saveFileDialog1.InitialDirectory = PastaSelecionada;
            //tipo como vai ser salvo
            saveFileDialog1.FileName = DesculpaBox.Text + ".txt";
            DialogResult resultado = saveFileDialog1.ShowDialog();
            if (resultado == DialogResult.OK)
            {
                ObjDesculpa.Salvar(saveFileDialog1.FileName);
                MessageBox.Show("Desculpa salva com sucesso!");
                AtualizacaoForms();
            }


        }

        private void Abrir_Click(object sender, EventArgs e)
        {
            openFileDialog1.InitialDirectory = PastaSelecionada;
            DialogResult resultado = openFileDialog1.ShowDialog();
            if (resultado == DialogResult.OK)
            {

                ObjDesculpa = new Desculpa(openFileDialog1.FileName);
                AtualizacaoForms();
            }

        }

        private void DesculpaAleatoria_Click(object sender, EventArgs e)
        {
            string[] nomeArquivo = Directory.GetFiles(PastaSelecionada, "*.desculpa");
            if (nomeArquivo.Length == 0)
            {
                MessageBox.Show("Especifique um pasta com arquivos de desculpa,\n           Nenhuma desculpa encontrada");
            }
            else
            {
            ObjDesculpa = new Desculpa(random, PastaSelecionada);
            AtualizacaoForms();
            }
        }

        private void DesculpaBox_TextChanged(object sender, EventArgs e)
        {
            ObjDesculpa.Descricao = DesculpaBox.Text;
        }

        private void ResultadoBox_TextChanged(object sender, EventArgs e)
        {
            ObjDesculpa.Resultado = ResultadoBox.Text;
        }

        private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            ObjDesculpa.UltimaUsada = dateTimePicker1.Value;
        }

          
    }
}
